本文共 1928 字,大约阅读时间需要 6 分钟。
phone:0123456 MyLink
直接让TextView引用字符串资源的name即可。 2、TextView设置autoLink属性
如果是代码里: 1、使用Html.fromHtml()
TextView textView = (TextView)findViewById(R.id.tv_test); textView.setText(Html.fromHtml(""+"0123456"+""));
2、使用TextView的Paint的属性
tvTest.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线tvTest.getPaint().setAntiAlias(true);//抗锯齿
3、使用SpannableString类
SpannableString content = new SpannableString(str);content.setSpan(new UnderLineSpan, 0, str.length(), 0);
代码里面自定义超链接样式:
TextView tv=new TextView(this);tv.setText(Html.fromHtml("自定义的超链接样式"));// 在单击链接时凡是有要执行的动作,都必须设置MovementMethod对象tv.setMovementMethod(LinkMovementMethod.getInstance()); CharSequence text = tv.getText();if (text instanceof Spannable){ int end = text.length(); Spannable sp = (Spannable)tv.getText(); URLSpan[] urls = sp.getSpans( 0 , end, URLSpan.class ); SpannableStringBuilder style = new SpannableStringBuilder(text); style.clearSpans(); // should clear old spans for (URLSpan url : urls){ URLSpan myURLSpan= new URLSpan(url.getURL()); style.setSpan(myURLSpan,sp.getSpanStart(url),sp.getSpanEnd(url),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); style.setSpan(new ForegroundColorSpan(0xFFFF0000), start, end, Spannable.SPAN_INCLUSIVE_INCLUSIVE);//设置前景色为红色
} tv.setText(style); }
另外一篇文章中有几个具体的实例可以参考: 看完的顺手点歌赞呗,谢谢鼓励!